草庐IT

c++ - 虚拟的概念

全部标签

c++ - 等待时间过去而不用在C窗口中忙着等待

我有一个线程,它的工作是向UDP对等点发送消息。如果满足以下条件之一,线程将发送消息:1)自上次发送消息以来已经过了一定时间(如超时)。2)共享结构中的更新bool标志已被其他线程引发。我希望能够等待这些条件发生,以便我知道何时发送消息。我能做到的最简单的方法是制作一个重复的循环,直到满足其中一个条件。怕是忙着等待,会白白消耗大量CPU时间。我也不想使用sleep()。我不介意C++解决方案,只要它易于理解和实现即可,因为我对C++不是很熟悉。谢谢! 最佳答案 对于Windows,使用事件(CreateEvent)而不是bool值,

c++ - VOID NTAPI 是什么意思,我在哪里可以找到它的引用资料?

我找到了这段代码,但我不明白。我找不到NTAPI的引用资料。对我来说,它定义了一个名为TestForWr的函数,但NTAPI令人困惑。VOIDNTAPITestForWr(PVOIDAd,ULONGLe,ULONGAl); 最佳答案 来自WinNT.h#defineNTAPI__stdcallThe__stdcallcallingconventionisusedtocallWin32APIfunctions.Thecalleecleansthestack,sothecompilermakesvarargfunctions__cdec

c - 适用于 x86_64 的 Windows 的免费编译器

我正在编写一个编译器,它使用C作为中间代码(当前)传递给MinGW以编译成EXE文件。我正在寻找可以包含在我的版本中的x64编译器,以便我的应用程序的用户可以绕过Win64的“WindowsonWindows”系统来访问native资源。MinGW允许我分发编译器,但它似乎不支持生成64位二进制文​​件。提前致谢:)比利3 最佳答案 看起来这可能是您想要的:Themingw-w64projectisacompleteruntimeenvironmentforgcctosupportbinariesnativetoWindows64-

c++ - 远离 Windows\C++ 中的虚拟内存

我正在编写一个性能关键型应用程序,它必须在转储到磁盘之前在物理内存中存储尽可能多的数据。我可以使用::GlobalMemoryStatusEx(...)和::GetProcessMemoryInfo(...)来找出多少百分比的物理内存是保留\空闲和我当前的进程处理了多少内存。使用此数据,我可以确保在使用了约90%的物理内存或达到每个应用程序最大2GB限制中的约90个时进行转储。但是,我想要一种方法来简单地接收在系统开始使用虚拟内存之前实际剩余的字节数,尤其是当应用程序将针对32位和64位编译时,而2GB的限制不存在。 最佳答案 这个

c++ - windows平台下c++休眠线程100.8564毫秒

我有什么方法可以让线程在windowOS下休眠到100.8564毫秒。我正在使用多媒体计时器,但它的分辨率至少为1秒。请指导我,以便我可以处理毫秒的小数部分。 最佳答案 是的,你可以做到。请参阅QueryPerformanceCounter()以读取准确的时间,并进行繁忙的循环。这将使您能够以高达10纳秒的分辨率进行等待,但是,如果线程调度程序决定在周期结束时从您那里窃取控制权,它会这样做,除了分配您的处理实时优先级。你也可以看看这个:http://msdn.microsoft.com/en-us/library/ms838340(

c - 在 Windows XP 中手动更新 shell32.dll 是否安全/实用?

我正在运行我的开发环境WindowsXP。我需要访问函数SHGetKnownFolderPath。我的团队建议我用他们的更新我的shell32.dll并更新我的头文件。函数记录在这里:http://msdn.microsoft.com/en-us/library/bb762188%28v=vs.85%29.aspx现在,了解这个问题的重点是通过复制粘贴手动覆盖/更新shell32.dll的可行性。请不要以上述功能的解决方法/替代方案作为回应。这不是这个问题的重点。简单地使用Windows7版本的shell32.dll并粘贴到我的(在XP中)是否安全?我不敢测试它,因为害怕毁了我的整个操

c - 减法运算不起作用

#include#includeintmain(){charletter;floatn1,n2,sum;printf("Whatoperationdoyouwanttouse\n\nA)Addidtion\nB)Subtraction\nC)Multiplacation\nD)Division\n");scanf("%c",&letter);printf("Pleaseenteranumber:");scanf("%f",&n1);printf("Pleaseenterasecondnumber:");scanf("%f",&n2);if(letter=='A'||'a'){sum=n

c - 在 C 中打开应用程序

有没有一种方法可以通过C中的简单命令打开应用程序?这是我当前的代码:intmain(){charinput;printf("Hello!HowmayIhelpyou?\n");scanf("%s",input);if(input=="OpenGoogleChrome"||"opengooglechrome"||"openchrome"||"rungooglechrome"||"runchrome"||"RunGoogleChrome"||"RunChrome"||"OpenChrome"){printf("Sure!OpeningGoogleChrome...");system("C:

c++ - 在 C++ 中返回运行时可用虚拟内存的大小

在C++中是否有一个预定义的库函数可以在运行时返回正在运行程序的计算机上当前可用的RAM大小?例如,如果一个对象是4字节,那么我们能否将可用虚拟内存除以4字节以估计程序可以安全地存储更多对象?我在我的程序中使用了sizeof()函数来返回对象的大小。因为在有用的回复中经常被问到这一点-该程序运行的平台是Windows(7)。谢谢 最佳答案 不在C++标准库中-虽然您的操作系统可能通过特定于平台的API提供此功能。 关于c++-在C++中返回运行时可用虚拟内存的大小,我们在StackOve

c# - 回调的概念 (C#)

您好,我有一个表单(表单A),其中有一个按钮“添加”,该按钮会弹出一个文本输入表单(表单B)。在表单B中输入文本后,按“确定”(btnOK)。此时我希望FormA获取文本并对其进行处理。据我所知,我有两个选择:1)表单A将一个函数(委托(delegate))传递给表单B,后者在btnOK_Click函数中执行它。2)我以某种方式在表单A中使用btnOK.Click事件注册了一个方法。我在正确的轨道上吗?你能想出任何解决我可以阅读的类似问题的方法吗,因为我在静态方法和事件方面遇到了麻烦...... 最佳答案 如果窗体B是模态窗口,您可